﻿using System;
using System.ComponentModel;
using System.Reflection;
using System.Runtime.InteropServices;
using Teigha.Core;

namespace Teigha.TD
{
	public class OdDbPlotSettingsValidator : OdRxObject
	{
		[EditorBrowsable(EditorBrowsableState.Never)]
		public OdDbPlotSettingsValidator(IntPtr cPtr, bool cMemoryOwn) : base(TD_DbPINVOKE.OdDbPlotSettingsValidator_SWIGUpcast(cPtr), cMemoryOwn)
		{
			this.swigCPtr = new HandleRef(this, cPtr);
		}

		[EditorBrowsable(EditorBrowsableState.Never)]
		public static HandleRef getCPtr(OdDbPlotSettingsValidator obj)
		{
			if (obj != null)
			{
				return obj.swigCPtr;
			}
			return new HandleRef(null, IntPtr.Zero);
		}

		~OdDbPlotSettingsValidator()
		{
			this.Dispose();
		}

		public override void Dispose()
		{
			if (this.swigCPtr.Handle != IntPtr.Zero)
			{
				if (this.swigCMemOwn)
				{
					lock (this.locker)
					{
						if (this.swigCPtr.Handle != IntPtr.Zero && this.swigCMemOwn)
						{
							this.swigCMemOwn = false;
							TD_DbPINVOKE.delete_OdDbPlotSettingsValidator(this.swigCPtr);
						}
					}
					this.swigCMemOwn = false;
				}
				this.swigCPtr = new HandleRef(null, IntPtr.Zero);
			}
			GC.SuppressFinalize(this);
			base.Dispose();
		}

		public OdDbPlotSettingsValidator() : this(TD_DbPINVOKE.new_OdDbPlotSettingsValidator(), MemoryManager.GetMemoryManager().GetCurrentTransaction() == null)
		{
			MemoryTransaction currentTransaction = MemoryManager.GetMemoryManager().GetCurrentTransaction();
			if (currentTransaction != null)
			{
				currentTransaction.AddObject(new OdDbPlotSettingsValidator(this.swigCPtr.Handle, true));
			}
			if (TD_DbPINVOKE.SWIGPendingException.Pending)
			{
				throw TD_DbPINVOKE.SWIGPendingException.Retrieve();
			}
			this.SwigDirectorConnect();
		}

		public new static OdDbPlotSettingsValidator cast(OdRxObject pObj)
		{
			MemoryManager memoryManager = MemoryManager.GetMemoryManager();
			MemoryTransaction currentTransaction = memoryManager.GetCurrentTransaction();
			IntPtr p = TD_DbPINVOKE.OdDbPlotSettingsValidator_cast(OdRxObject.getCPtr(pObj));
			OdDbPlotSettingsValidator result;
			if (currentTransaction != null)
			{
				currentTransaction.AddObject((OdDbPlotSettingsValidator)Teigha.Core.Helpers.odrxCreateObjectInternal(p, true));
				result = (OdDbPlotSettingsValidator)Teigha.Core.Helpers.odrxCreateObjectInternal(p, false);
			}
			else
			{
				result = (OdDbPlotSettingsValidator)Teigha.Core.Helpers.odrxCreateObjectInternal(p, true);
			}
			if (TD_DbPINVOKE.SWIGPendingException.Pending)
			{
				throw TD_DbPINVOKE.SWIGPendingException.Retrieve();
			}
			return result;
		}

		public new static OdRxClass desc()
		{
			OdRxClass result = (OdRxClass)Teigha.Core.Helpers.odrxCreateObjectInternal(TD_DbPINVOKE.OdDbPlotSettingsValidator_desc(), false);
			if (TD_DbPINVOKE.SWIGPendingException.Pending)
			{
				throw TD_DbPINVOKE.SWIGPendingException.Retrieve();
			}
			return result;
		}

		public new virtual OdRxClass isA()
		{
			OdRxClass result = (OdRxClass)Teigha.Core.Helpers.odrxCreateObjectInternal(this.SwigDerivedClassHasMethod("isA", OdDbPlotSettingsValidator.swigMethodTypes1) ? TD_DbPINVOKE.OdDbPlotSettingsValidator_isASwigExplicitOdDbPlotSettingsValidator(this.swigCPtr) : TD_DbPINVOKE.OdDbPlotSettingsValidator_isA(this.swigCPtr), false);
			if (TD_DbPINVOKE.SWIGPendingException.Pending)
			{
				throw TD_DbPINVOKE.SWIGPendingException.Retrieve();
			}
			return result;
		}

		public new virtual OdRxObject queryX(OdRxClass protocolClass)
		{
			OdRxObject result = Teigha.Core.Helpers.odrxCreateObjectInternal(this.SwigDerivedClassHasMethod("queryX", OdDbPlotSettingsValidator.swigMethodTypes0) ? TD_DbPINVOKE.OdDbPlotSettingsValidator_queryXSwigExplicitOdDbPlotSettingsValidator(this.swigCPtr, OdRxClass.getCPtr(protocolClass)) : TD_DbPINVOKE.OdDbPlotSettingsValidator_queryX(this.swigCPtr, OdRxClass.getCPtr(protocolClass)), false);
			if (TD_DbPINVOKE.SWIGPendingException.Pending)
			{
				throw TD_DbPINVOKE.SWIGPendingException.Retrieve();
			}
			return result;
		}

		public static OdDbPlotSettingsValidator createObject()
		{
			MemoryManager memoryManager = MemoryManager.GetMemoryManager();
			MemoryTransaction currentTransaction = memoryManager.GetCurrentTransaction();
			IntPtr p = TD_DbPINVOKE.OdDbPlotSettingsValidator_createObject();
			OdDbPlotSettingsValidator result;
			if (currentTransaction != null)
			{
				currentTransaction.AddObject((OdDbPlotSettingsValidator)Teigha.Core.Helpers.odrxCreateObjectInternal(p, true));
				result = (OdDbPlotSettingsValidator)Teigha.Core.Helpers.odrxCreateObjectInternal(p, false);
			}
			else
			{
				result = (OdDbPlotSettingsValidator)Teigha.Core.Helpers.odrxCreateObjectInternal(p, true);
			}
			if (TD_DbPINVOKE.SWIGPendingException.Pending)
			{
				throw TD_DbPINVOKE.SWIGPendingException.Retrieve();
			}
			return result;
		}

		public virtual OdResult setPlotCfgName(OdDbPlotSettings pPlotSettings, string plotDeviceName, string mediaName)
		{
			OdResult result = (OdResult)TD_DbPINVOKE.OdDbPlotSettingsValidator_setPlotCfgName__SWIG_0(this.swigCPtr, OdDbPlotSettings.getCPtr(pPlotSettings), plotDeviceName, mediaName);
			if (TD_DbPINVOKE.SWIGPendingException.Pending)
			{
				throw TD_DbPINVOKE.SWIGPendingException.Retrieve();
			}
			return result;
		}

		public virtual OdResult setPlotCfgName(OdDbPlotSettings pPlotSettings, string plotDeviceName)
		{
			OdResult result = (OdResult)TD_DbPINVOKE.OdDbPlotSettingsValidator_setPlotCfgName__SWIG_1(this.swigCPtr, OdDbPlotSettings.getCPtr(pPlotSettings), plotDeviceName);
			if (TD_DbPINVOKE.SWIGPendingException.Pending)
			{
				throw TD_DbPINVOKE.SWIGPendingException.Retrieve();
			}
			return result;
		}

		public virtual OdResult setCanonicalMediaName(OdDbPlotSettings pPlotSettings, string mediaName)
		{
			OdResult result = (OdResult)TD_DbPINVOKE.OdDbPlotSettingsValidator_setCanonicalMediaName(this.swigCPtr, OdDbPlotSettings.getCPtr(pPlotSettings), mediaName);
			if (TD_DbPINVOKE.SWIGPendingException.Pending)
			{
				throw TD_DbPINVOKE.SWIGPendingException.Retrieve();
			}
			return result;
		}

		public virtual OdResult setPlotOrigin(OdDbPlotSettings pPlotSettings, double xCoordinate, double yCoordinate)
		{
			OdResult result = (OdResult)TD_DbPINVOKE.OdDbPlotSettingsValidator_setPlotOrigin(this.swigCPtr, OdDbPlotSettings.getCPtr(pPlotSettings), xCoordinate, yCoordinate);
			if (TD_DbPINVOKE.SWIGPendingException.Pending)
			{
				throw TD_DbPINVOKE.SWIGPendingException.Retrieve();
			}
			return result;
		}

		public virtual OdResult setPlotPaperUnits(OdDbPlotSettings pPlotSettings, OdDbPlotSettings.PlotPaperUnits plotPaperUnits)
		{
			OdResult result = (OdResult)TD_DbPINVOKE.OdDbPlotSettingsValidator_setPlotPaperUnits(this.swigCPtr, OdDbPlotSettings.getCPtr(pPlotSettings), (int)plotPaperUnits);
			if (TD_DbPINVOKE.SWIGPendingException.Pending)
			{
				throw TD_DbPINVOKE.SWIGPendingException.Retrieve();
			}
			return result;
		}

		public virtual OdResult setPlotRotation(OdDbPlotSettings pPlotSettings, OdDbPlotSettings.PlotRotation plotRotation)
		{
			OdResult result = (OdResult)TD_DbPINVOKE.OdDbPlotSettingsValidator_setPlotRotation(this.swigCPtr, OdDbPlotSettings.getCPtr(pPlotSettings), (int)plotRotation);
			if (TD_DbPINVOKE.SWIGPendingException.Pending)
			{
				throw TD_DbPINVOKE.SWIGPendingException.Retrieve();
			}
			return result;
		}

		public virtual OdResult setPlotCentered(OdDbPlotSettings pPlotSettings, bool plotCentered)
		{
			OdResult result = (OdResult)TD_DbPINVOKE.OdDbPlotSettingsValidator_setPlotCentered(this.swigCPtr, OdDbPlotSettings.getCPtr(pPlotSettings), plotCentered);
			if (TD_DbPINVOKE.SWIGPendingException.Pending)
			{
				throw TD_DbPINVOKE.SWIGPendingException.Retrieve();
			}
			return result;
		}

		public virtual OdResult setPlotType(OdDbPlotSettings pPlotSettings, OdDbPlotSettings.PlotType plotType)
		{
			OdResult result = (OdResult)TD_DbPINVOKE.OdDbPlotSettingsValidator_setPlotType(this.swigCPtr, OdDbPlotSettings.getCPtr(pPlotSettings), (int)plotType);
			if (TD_DbPINVOKE.SWIGPendingException.Pending)
			{
				throw TD_DbPINVOKE.SWIGPendingException.Retrieve();
			}
			return result;
		}

		public virtual OdResult setPlotWindowArea(OdDbPlotSettings pPlotSettings, double xMin, double yMin, double xMax, double yMax)
		{
			OdResult result = (OdResult)TD_DbPINVOKE.OdDbPlotSettingsValidator_setPlotWindowArea(this.swigCPtr, OdDbPlotSettings.getCPtr(pPlotSettings), xMin, yMin, xMax, yMax);
			if (TD_DbPINVOKE.SWIGPendingException.Pending)
			{
				throw TD_DbPINVOKE.SWIGPendingException.Retrieve();
			}
			return result;
		}

		public virtual OdResult setPlotViewName(OdDbPlotSettings pPlotSettings, string plotViewName)
		{
			OdResult result = (OdResult)TD_DbPINVOKE.OdDbPlotSettingsValidator_setPlotViewName(this.swigCPtr, OdDbPlotSettings.getCPtr(pPlotSettings), plotViewName);
			if (TD_DbPINVOKE.SWIGPendingException.Pending)
			{
				throw TD_DbPINVOKE.SWIGPendingException.Retrieve();
			}
			return result;
		}

		public virtual OdResult setUseStandardScale(OdDbPlotSettings pPlotSettings, bool useStandardScale)
		{
			OdResult result = (OdResult)TD_DbPINVOKE.OdDbPlotSettingsValidator_setUseStandardScale(this.swigCPtr, OdDbPlotSettings.getCPtr(pPlotSettings), useStandardScale);
			if (TD_DbPINVOKE.SWIGPendingException.Pending)
			{
				throw TD_DbPINVOKE.SWIGPendingException.Retrieve();
			}
			return result;
		}

		public virtual OdResult setCustomPrintScale(OdDbPlotSettings pPlotSettings, double numerator, double denominator)
		{
			OdResult result = (OdResult)TD_DbPINVOKE.OdDbPlotSettingsValidator_setCustomPrintScale(this.swigCPtr, OdDbPlotSettings.getCPtr(pPlotSettings), numerator, denominator);
			if (TD_DbPINVOKE.SWIGPendingException.Pending)
			{
				throw TD_DbPINVOKE.SWIGPendingException.Retrieve();
			}
			return result;
		}

		public virtual OdResult setCurrentStyleSheet(OdDbPlotSettings pPlotSettings, string currentStyleSheet)
		{
			OdResult result = (OdResult)TD_DbPINVOKE.OdDbPlotSettingsValidator_setCurrentStyleSheet(this.swigCPtr, OdDbPlotSettings.getCPtr(pPlotSettings), currentStyleSheet);
			if (TD_DbPINVOKE.SWIGPendingException.Pending)
			{
				throw TD_DbPINVOKE.SWIGPendingException.Retrieve();
			}
			return result;
		}

		public virtual OdResult setStdScaleType(OdDbPlotSettings pPlotSettings, OdDbPlotSettings.StdScaleType stdScaleType)
		{
			OdResult result = (OdResult)TD_DbPINVOKE.OdDbPlotSettingsValidator_setStdScaleType(this.swigCPtr, OdDbPlotSettings.getCPtr(pPlotSettings), (int)stdScaleType);
			if (TD_DbPINVOKE.SWIGPendingException.Pending)
			{
				throw TD_DbPINVOKE.SWIGPendingException.Retrieve();
			}
			return result;
		}

		public virtual OdResult setStdScale(OdDbPlotSettings pPlotSettings, double standardScale)
		{
			OdResult result = (OdResult)TD_DbPINVOKE.OdDbPlotSettingsValidator_setStdScale(this.swigCPtr, OdDbPlotSettings.getCPtr(pPlotSettings), standardScale);
			if (TD_DbPINVOKE.SWIGPendingException.Pending)
			{
				throw TD_DbPINVOKE.SWIGPendingException.Retrieve();
			}
			return result;
		}

		public virtual void plotDeviceList(OdStringArray deviceList)
		{
			TD_DbPINVOKE.OdDbPlotSettingsValidator_plotDeviceList(this.swigCPtr, OdStringArray.getCPtr(deviceList).Handle);
			if (TD_DbPINVOKE.SWIGPendingException.Pending)
			{
				throw TD_DbPINVOKE.SWIGPendingException.Retrieve();
			}
		}

		public virtual OdResult canonicalMediaNameList(OdDbPlotSettings pPlotSettings, OdStringArray mediaList)
		{
			OdResult result = (OdResult)TD_DbPINVOKE.OdDbPlotSettingsValidator_canonicalMediaNameList(this.swigCPtr, OdDbPlotSettings.getCPtr(pPlotSettings), OdStringArray.getCPtr(mediaList).Handle);
			if (TD_DbPINVOKE.SWIGPendingException.Pending)
			{
				throw TD_DbPINVOKE.SWIGPendingException.Retrieve();
			}
			return result;
		}

		public virtual string getLocaleMediaName(OdDbPlotSettings pPlotSettings, string canonicalName)
		{
			string result = TD_DbPINVOKE.OdDbPlotSettingsValidator_getLocaleMediaName__SWIG_0(this.swigCPtr, OdDbPlotSettings.getCPtr(pPlotSettings), canonicalName);
			if (TD_DbPINVOKE.SWIGPendingException.Pending)
			{
				throw TD_DbPINVOKE.SWIGPendingException.Retrieve();
			}
			return result;
		}

		public virtual string getLocaleMediaName(OdDbPlotSettings pPlotSettings, int mediaIndex)
		{
			string result = TD_DbPINVOKE.OdDbPlotSettingsValidator_getLocaleMediaName__SWIG_1(this.swigCPtr, OdDbPlotSettings.getCPtr(pPlotSettings), mediaIndex);
			if (TD_DbPINVOKE.SWIGPendingException.Pending)
			{
				throw TD_DbPINVOKE.SWIGPendingException.Retrieve();
			}
			return result;
		}

		public virtual OdResult setClosestMediaName(OdDbPlotSettings pPlotSettings, double paperWidth, double paperHeight, OdDbPlotSettings.PlotPaperUnits plotPaperUnits, bool matchPrintableArea)
		{
			OdResult result = (OdResult)TD_DbPINVOKE.OdDbPlotSettingsValidator_setClosestMediaName(this.swigCPtr, OdDbPlotSettings.getCPtr(pPlotSettings), paperWidth, paperHeight, (int)plotPaperUnits, matchPrintableArea);
			if (TD_DbPINVOKE.SWIGPendingException.Pending)
			{
				throw TD_DbPINVOKE.SWIGPendingException.Retrieve();
			}
			return result;
		}

		public virtual OdResult plotStyleSheetList(OdStringArray styleList)
		{
			OdResult result = (OdResult)TD_DbPINVOKE.OdDbPlotSettingsValidator_plotStyleSheetList(this.swigCPtr, OdStringArray.getCPtr(styleList).Handle);
			if (TD_DbPINVOKE.SWIGPendingException.Pending)
			{
				throw TD_DbPINVOKE.SWIGPendingException.Retrieve();
			}
			return result;
		}

		public virtual void refreshLists(OdDbPlotSettings pPlotSettings)
		{
			TD_DbPINVOKE.OdDbPlotSettingsValidator_refreshLists(this.swigCPtr, OdDbPlotSettings.getCPtr(pPlotSettings));
			if (TD_DbPINVOKE.SWIGPendingException.Pending)
			{
				throw TD_DbPINVOKE.SWIGPendingException.Retrieve();
			}
		}

		public virtual OdResult setZoomToPaperOnUpdate(OdDbPlotSettings pPlotSettings, bool zoomToPaperOnUpdate)
		{
			OdResult result = (OdResult)TD_DbPINVOKE.OdDbPlotSettingsValidator_setZoomToPaperOnUpdate(this.swigCPtr, OdDbPlotSettings.getCPtr(pPlotSettings), zoomToPaperOnUpdate);
			if (TD_DbPINVOKE.SWIGPendingException.Pending)
			{
				throw TD_DbPINVOKE.SWIGPendingException.Retrieve();
			}
			return result;
		}

		public virtual OdResult setDefaultPlotConfig(OdDbPlotSettings pPlotSettings)
		{
			OdResult result = (OdResult)TD_DbPINVOKE.OdDbPlotSettingsValidator_setDefaultPlotConfig(this.swigCPtr, OdDbPlotSettings.getCPtr(pPlotSettings));
			if (TD_DbPINVOKE.SWIGPendingException.Pending)
			{
				throw TD_DbPINVOKE.SWIGPendingException.Retrieve();
			}
			return result;
		}

		private void SwigDirectorConnect()
		{
			if (this.SwigDerivedClassHasMethod("queryX", OdDbPlotSettingsValidator.swigMethodTypes0))
			{
				this.swigDelegate0 = new OdDbPlotSettingsValidator.SwigDelegateOdDbPlotSettingsValidator_0(this.SwigDirectorqueryX);
			}
			if (this.SwigDerivedClassHasMethod("isA", OdDbPlotSettingsValidator.swigMethodTypes1))
			{
				this.swigDelegate1 = new OdDbPlotSettingsValidator.SwigDelegateOdDbPlotSettingsValidator_1(this.SwigDirectorisA);
			}
			if (this.SwigDerivedClassHasMethod("setPlotCfgName", OdDbPlotSettingsValidator.swigMethodTypes2))
			{
				this.swigDelegate2 = new OdDbPlotSettingsValidator.SwigDelegateOdDbPlotSettingsValidator_2(this.SwigDirectorsetPlotCfgName__SWIG_0);
			}
			if (this.SwigDerivedClassHasMethod("setPlotCfgName", OdDbPlotSettingsValidator.swigMethodTypes3))
			{
				this.swigDelegate3 = new OdDbPlotSettingsValidator.SwigDelegateOdDbPlotSettingsValidator_3(this.SwigDirectorsetPlotCfgName__SWIG_1);
			}
			if (this.SwigDerivedClassHasMethod("setCanonicalMediaName", OdDbPlotSettingsValidator.swigMethodTypes4))
			{
				this.swigDelegate4 = new OdDbPlotSettingsValidator.SwigDelegateOdDbPlotSettingsValidator_4(this.SwigDirectorsetCanonicalMediaName);
			}
			if (this.SwigDerivedClassHasMethod("setPlotOrigin", OdDbPlotSettingsValidator.swigMethodTypes5))
			{
				this.swigDelegate5 = new OdDbPlotSettingsValidator.SwigDelegateOdDbPlotSettingsValidator_5(this.SwigDirectorsetPlotOrigin);
			}
			if (this.SwigDerivedClassHasMethod("setPlotPaperUnits", OdDbPlotSettingsValidator.swigMethodTypes6))
			{
				this.swigDelegate6 = new OdDbPlotSettingsValidator.SwigDelegateOdDbPlotSettingsValidator_6(this.SwigDirectorsetPlotPaperUnits);
			}
			if (this.SwigDerivedClassHasMethod("setPlotRotation", OdDbPlotSettingsValidator.swigMethodTypes7))
			{
				this.swigDelegate7 = new OdDbPlotSettingsValidator.SwigDelegateOdDbPlotSettingsValidator_7(this.SwigDirectorsetPlotRotation);
			}
			if (this.SwigDerivedClassHasMethod("setPlotCentered", OdDbPlotSettingsValidator.swigMethodTypes8))
			{
				this.swigDelegate8 = new OdDbPlotSettingsValidator.SwigDelegateOdDbPlotSettingsValidator_8(this.SwigDirectorsetPlotCentered);
			}
			if (this.SwigDerivedClassHasMethod("setPlotType", OdDbPlotSettingsValidator.swigMethodTypes9))
			{
				this.swigDelegate9 = new OdDbPlotSettingsValidator.SwigDelegateOdDbPlotSettingsValidator_9(this.SwigDirectorsetPlotType);
			}
			if (this.SwigDerivedClassHasMethod("setPlotWindowArea", OdDbPlotSettingsValidator.swigMethodTypes10))
			{
				this.swigDelegate10 = new OdDbPlotSettingsValidator.SwigDelegateOdDbPlotSettingsValidator_10(this.SwigDirectorsetPlotWindowArea);
			}
			if (this.SwigDerivedClassHasMethod("setPlotViewName", OdDbPlotSettingsValidator.swigMethodTypes11))
			{
				this.swigDelegate11 = new OdDbPlotSettingsValidator.SwigDelegateOdDbPlotSettingsValidator_11(this.SwigDirectorsetPlotViewName);
			}
			if (this.SwigDerivedClassHasMethod("setUseStandardScale", OdDbPlotSettingsValidator.swigMethodTypes12))
			{
				this.swigDelegate12 = new OdDbPlotSettingsValidator.SwigDelegateOdDbPlotSettingsValidator_12(this.SwigDirectorsetUseStandardScale);
			}
			if (this.SwigDerivedClassHasMethod("setCustomPrintScale", OdDbPlotSettingsValidator.swigMethodTypes13))
			{
				this.swigDelegate13 = new OdDbPlotSettingsValidator.SwigDelegateOdDbPlotSettingsValidator_13(this.SwigDirectorsetCustomPrintScale);
			}
			if (this.SwigDerivedClassHasMethod("setCurrentStyleSheet", OdDbPlotSettingsValidator.swigMethodTypes14))
			{
				this.swigDelegate14 = new OdDbPlotSettingsValidator.SwigDelegateOdDbPlotSettingsValidator_14(this.SwigDirectorsetCurrentStyleSheet);
			}
			if (this.SwigDerivedClassHasMethod("setStdScaleType", OdDbPlotSettingsValidator.swigMethodTypes15))
			{
				this.swigDelegate15 = new OdDbPlotSettingsValidator.SwigDelegateOdDbPlotSettingsValidator_15(this.SwigDirectorsetStdScaleType);
			}
			if (this.SwigDerivedClassHasMethod("setStdScale", OdDbPlotSettingsValidator.swigMethodTypes16))
			{
				this.swigDelegate16 = new OdDbPlotSettingsValidator.SwigDelegateOdDbPlotSettingsValidator_16(this.SwigDirectorsetStdScale);
			}
			if (this.SwigDerivedClassHasMethod("plotDeviceList", OdDbPlotSettingsValidator.swigMethodTypes17))
			{
				this.swigDelegate17 = new OdDbPlotSettingsValidator.SwigDelegateOdDbPlotSettingsValidator_17(this.SwigDirectorplotDeviceList);
			}
			if (this.SwigDerivedClassHasMethod("canonicalMediaNameList", OdDbPlotSettingsValidator.swigMethodTypes18))
			{
				this.swigDelegate18 = new OdDbPlotSettingsValidator.SwigDelegateOdDbPlotSettingsValidator_18(this.SwigDirectorcanonicalMediaNameList);
			}
			if (this.SwigDerivedClassHasMethod("getLocaleMediaName", OdDbPlotSettingsValidator.swigMethodTypes19))
			{
				this.swigDelegate19 = new OdDbPlotSettingsValidator.SwigDelegateOdDbPlotSettingsValidator_19(this.SwigDirectorgetLocaleMediaName__SWIG_0);
			}
			if (this.SwigDerivedClassHasMethod("getLocaleMediaName", OdDbPlotSettingsValidator.swigMethodTypes20))
			{
				this.swigDelegate20 = new OdDbPlotSettingsValidator.SwigDelegateOdDbPlotSettingsValidator_20(this.SwigDirectorgetLocaleMediaName__SWIG_1);
			}
			if (this.SwigDerivedClassHasMethod("setClosestMediaName", OdDbPlotSettingsValidator.swigMethodTypes21))
			{
				this.swigDelegate21 = new OdDbPlotSettingsValidator.SwigDelegateOdDbPlotSettingsValidator_21(this.SwigDirectorsetClosestMediaName);
			}
			if (this.SwigDerivedClassHasMethod("plotStyleSheetList", OdDbPlotSettingsValidator.swigMethodTypes22))
			{
				this.swigDelegate22 = new OdDbPlotSettingsValidator.SwigDelegateOdDbPlotSettingsValidator_22(this.SwigDirectorplotStyleSheetList);
			}
			if (this.SwigDerivedClassHasMethod("refreshLists", OdDbPlotSettingsValidator.swigMethodTypes23))
			{
				this.swigDelegate23 = new OdDbPlotSettingsValidator.SwigDelegateOdDbPlotSettingsValidator_23(this.SwigDirectorrefreshLists);
			}
			if (this.SwigDerivedClassHasMethod("setZoomToPaperOnUpdate", OdDbPlotSettingsValidator.swigMethodTypes24))
			{
				this.swigDelegate24 = new OdDbPlotSettingsValidator.SwigDelegateOdDbPlotSettingsValidator_24(this.SwigDirectorsetZoomToPaperOnUpdate);
			}
			if (this.SwigDerivedClassHasMethod("setDefaultPlotConfig", OdDbPlotSettingsValidator.swigMethodTypes25))
			{
				this.swigDelegate25 = new OdDbPlotSettingsValidator.SwigDelegateOdDbPlotSettingsValidator_25(this.SwigDirectorsetDefaultPlotConfig);
			}
			TD_DbPINVOKE.OdDbPlotSettingsValidator_director_connect(this.swigCPtr, this.swigDelegate0, this.swigDelegate1, this.swigDelegate2, this.swigDelegate3, this.swigDelegate4, this.swigDelegate5, this.swigDelegate6, this.swigDelegate7, this.swigDelegate8, this.swigDelegate9, this.swigDelegate10, this.swigDelegate11, this.swigDelegate12, this.swigDelegate13, this.swigDelegate14, this.swigDelegate15, this.swigDelegate16, this.swigDelegate17, this.swigDelegate18, this.swigDelegate19, this.swigDelegate20, this.swigDelegate21, this.swigDelegate22, this.swigDelegate23, this.swigDelegate24, this.swigDelegate25);
		}

		private bool SwigDerivedClassHasMethod(string methodName, Type[] methodTypes)
		{
			MethodInfo method = base.GetType().GetMethod(methodName, BindingFlags.Instance | BindingFlags.Public | BindingFlags.NonPublic, null, methodTypes, null);
			return method.DeclaringType.IsSubclassOf(typeof(OdDbPlotSettingsValidator));
		}

		private IntPtr SwigDirectorqueryX(IntPtr protocolClass)
		{
			return OdRxObject.getCPtr(this.queryX((OdRxClass)Teigha.Core.Helpers.odrxCreateObjectInternal(protocolClass, false))).Handle;
		}

		private IntPtr SwigDirectorisA()
		{
			return OdRxClass.getCPtr(this.isA()).Handle;
		}

		private int SwigDirectorsetPlotCfgName__SWIG_0(IntPtr pPlotSettings, [MarshalAs(UnmanagedType.LPWStr)] string plotDeviceName, [MarshalAs(UnmanagedType.LPWStr)] string mediaName)
		{
			return (int)this.setPlotCfgName((OdDbPlotSettings)Teigha.Core.Helpers.odrxCreateObjectInternal(pPlotSettings, false), plotDeviceName, mediaName);
		}

		private int SwigDirectorsetPlotCfgName__SWIG_1(IntPtr pPlotSettings, [MarshalAs(UnmanagedType.LPWStr)] string plotDeviceName)
		{
			return (int)this.setPlotCfgName((OdDbPlotSettings)Teigha.Core.Helpers.odrxCreateObjectInternal(pPlotSettings, false), plotDeviceName);
		}

		private int SwigDirectorsetCanonicalMediaName(IntPtr pPlotSettings, [MarshalAs(UnmanagedType.LPWStr)] string mediaName)
		{
			return (int)this.setCanonicalMediaName((OdDbPlotSettings)Teigha.Core.Helpers.odrxCreateObjectInternal(pPlotSettings, false), mediaName);
		}

		private int SwigDirectorsetPlotOrigin(IntPtr pPlotSettings, double xCoordinate, double yCoordinate)
		{
			return (int)this.setPlotOrigin((OdDbPlotSettings)Teigha.Core.Helpers.odrxCreateObjectInternal(pPlotSettings, false), xCoordinate, yCoordinate);
		}

		private int SwigDirectorsetPlotPaperUnits(IntPtr pPlotSettings, int plotPaperUnits)
		{
			return (int)this.setPlotPaperUnits((OdDbPlotSettings)Teigha.Core.Helpers.odrxCreateObjectInternal(pPlotSettings, false), (OdDbPlotSettings.PlotPaperUnits)plotPaperUnits);
		}

		private int SwigDirectorsetPlotRotation(IntPtr pPlotSettings, int plotRotation)
		{
			return (int)this.setPlotRotation((OdDbPlotSettings)Teigha.Core.Helpers.odrxCreateObjectInternal(pPlotSettings, false), (OdDbPlotSettings.PlotRotation)plotRotation);
		}

		private int SwigDirectorsetPlotCentered(IntPtr pPlotSettings, bool plotCentered)
		{
			return (int)this.setPlotCentered((OdDbPlotSettings)Teigha.Core.Helpers.odrxCreateObjectInternal(pPlotSettings, false), plotCentered);
		}

		private int SwigDirectorsetPlotType(IntPtr pPlotSettings, int plotType)
		{
			return (int)this.setPlotType((OdDbPlotSettings)Teigha.Core.Helpers.odrxCreateObjectInternal(pPlotSettings, false), (OdDbPlotSettings.PlotType)plotType);
		}

		private int SwigDirectorsetPlotWindowArea(IntPtr pPlotSettings, double xMin, double yMin, double xMax, double yMax)
		{
			return (int)this.setPlotWindowArea((OdDbPlotSettings)Teigha.Core.Helpers.odrxCreateObjectInternal(pPlotSettings, false), xMin, yMin, xMax, yMax);
		}

		private int SwigDirectorsetPlotViewName(IntPtr pPlotSettings, [MarshalAs(UnmanagedType.LPWStr)] string plotViewName)
		{
			return (int)this.setPlotViewName((OdDbPlotSettings)Teigha.Core.Helpers.odrxCreateObjectInternal(pPlotSettings, false), plotViewName);
		}

		private int SwigDirectorsetUseStandardScale(IntPtr pPlotSettings, bool useStandardScale)
		{
			return (int)this.setUseStandardScale((OdDbPlotSettings)Teigha.Core.Helpers.odrxCreateObjectInternal(pPlotSettings, false), useStandardScale);
		}

		private int SwigDirectorsetCustomPrintScale(IntPtr pPlotSettings, double numerator, double denominator)
		{
			return (int)this.setCustomPrintScale((OdDbPlotSettings)Teigha.Core.Helpers.odrxCreateObjectInternal(pPlotSettings, false), numerator, denominator);
		}

		private int SwigDirectorsetCurrentStyleSheet(IntPtr pPlotSettings, [MarshalAs(UnmanagedType.LPWStr)] string currentStyleSheet)
		{
			return (int)this.setCurrentStyleSheet((OdDbPlotSettings)Teigha.Core.Helpers.odrxCreateObjectInternal(pPlotSettings, false), currentStyleSheet);
		}

		private int SwigDirectorsetStdScaleType(IntPtr pPlotSettings, int stdScaleType)
		{
			return (int)this.setStdScaleType((OdDbPlotSettings)Teigha.Core.Helpers.odrxCreateObjectInternal(pPlotSettings, false), (OdDbPlotSettings.StdScaleType)stdScaleType);
		}

		private int SwigDirectorsetStdScale(IntPtr pPlotSettings, double standardScale)
		{
			return (int)this.setStdScale((OdDbPlotSettings)Teigha.Core.Helpers.odrxCreateObjectInternal(pPlotSettings, false), standardScale);
		}

		private void SwigDirectorplotDeviceList(IntPtr deviceList)
		{
			this.plotDeviceList(new OdStringArray(deviceList, false));
		}

		private int SwigDirectorcanonicalMediaNameList(IntPtr pPlotSettings, IntPtr mediaList)
		{
			return (int)this.canonicalMediaNameList((OdDbPlotSettings)Teigha.Core.Helpers.odrxCreateObjectInternal(pPlotSettings, false), new OdStringArray(mediaList, false));
		}

		[return: MarshalAs(UnmanagedType.LPWStr)]
		private string SwigDirectorgetLocaleMediaName__SWIG_0(IntPtr pPlotSettings, [MarshalAs(UnmanagedType.LPWStr)] string canonicalName)
		{
			return this.getLocaleMediaName((OdDbPlotSettings)Teigha.Core.Helpers.odrxCreateObjectInternal(pPlotSettings, false), canonicalName);
		}

		[return: MarshalAs(UnmanagedType.LPWStr)]
		private string SwigDirectorgetLocaleMediaName__SWIG_1(IntPtr pPlotSettings, int mediaIndex)
		{
			return this.getLocaleMediaName((OdDbPlotSettings)Teigha.Core.Helpers.odrxCreateObjectInternal(pPlotSettings, false), mediaIndex);
		}

		private int SwigDirectorsetClosestMediaName(IntPtr pPlotSettings, double paperWidth, double paperHeight, int plotPaperUnits, bool matchPrintableArea)
		{
			return (int)this.setClosestMediaName((OdDbPlotSettings)Teigha.Core.Helpers.odrxCreateObjectInternal(pPlotSettings, false), paperWidth, paperHeight, (OdDbPlotSettings.PlotPaperUnits)plotPaperUnits, matchPrintableArea);
		}

		private int SwigDirectorplotStyleSheetList(IntPtr styleList)
		{
			return (int)this.plotStyleSheetList(new OdStringArray(styleList, false));
		}

		private void SwigDirectorrefreshLists(IntPtr pPlotSettings)
		{
			this.refreshLists((OdDbPlotSettings)Teigha.Core.Helpers.odrxCreateObjectInternal(pPlotSettings, false));
		}

		private int SwigDirectorsetZoomToPaperOnUpdate(IntPtr pPlotSettings, bool zoomToPaperOnUpdate)
		{
			return (int)this.setZoomToPaperOnUpdate((OdDbPlotSettings)Teigha.Core.Helpers.odrxCreateObjectInternal(pPlotSettings, false), zoomToPaperOnUpdate);
		}

		private int SwigDirectorsetDefaultPlotConfig(IntPtr pPlotSettings)
		{
			return (int)this.setDefaultPlotConfig((OdDbPlotSettings)Teigha.Core.Helpers.odrxCreateObjectInternal(pPlotSettings, false));
		}

		private object locker = new object();

		private HandleRef swigCPtr;

		private OdDbPlotSettingsValidator.SwigDelegateOdDbPlotSettingsValidator_0 swigDelegate0;

		private OdDbPlotSettingsValidator.SwigDelegateOdDbPlotSettingsValidator_1 swigDelegate1;

		private OdDbPlotSettingsValidator.SwigDelegateOdDbPlotSettingsValidator_2 swigDelegate2;

		private OdDbPlotSettingsValidator.SwigDelegateOdDbPlotSettingsValidator_3 swigDelegate3;

		private OdDbPlotSettingsValidator.SwigDelegateOdDbPlotSettingsValidator_4 swigDelegate4;

		private OdDbPlotSettingsValidator.SwigDelegateOdDbPlotSettingsValidator_5 swigDelegate5;

		private OdDbPlotSettingsValidator.SwigDelegateOdDbPlotSettingsValidator_6 swigDelegate6;

		private OdDbPlotSettingsValidator.SwigDelegateOdDbPlotSettingsValidator_7 swigDelegate7;

		private OdDbPlotSettingsValidator.SwigDelegateOdDbPlotSettingsValidator_8 swigDelegate8;

		private OdDbPlotSettingsValidator.SwigDelegateOdDbPlotSettingsValidator_9 swigDelegate9;

		private OdDbPlotSettingsValidator.SwigDelegateOdDbPlotSettingsValidator_10 swigDelegate10;

		private OdDbPlotSettingsValidator.SwigDelegateOdDbPlotSettingsValidator_11 swigDelegate11;

		private OdDbPlotSettingsValidator.SwigDelegateOdDbPlotSettingsValidator_12 swigDelegate12;

		private OdDbPlotSettingsValidator.SwigDelegateOdDbPlotSettingsValidator_13 swigDelegate13;

		private OdDbPlotSettingsValidator.SwigDelegateOdDbPlotSettingsValidator_14 swigDelegate14;

		private OdDbPlotSettingsValidator.SwigDelegateOdDbPlotSettingsValidator_15 swigDelegate15;

		private OdDbPlotSettingsValidator.SwigDelegateOdDbPlotSettingsValidator_16 swigDelegate16;

		private OdDbPlotSettingsValidator.SwigDelegateOdDbPlotSettingsValidator_17 swigDelegate17;

		private OdDbPlotSettingsValidator.SwigDelegateOdDbPlotSettingsValidator_18 swigDelegate18;

		private OdDbPlotSettingsValidator.SwigDelegateOdDbPlotSettingsValidator_19 swigDelegate19;

		private OdDbPlotSettingsValidator.SwigDelegateOdDbPlotSettingsValidator_20 swigDelegate20;

		private OdDbPlotSettingsValidator.SwigDelegateOdDbPlotSettingsValidator_21 swigDelegate21;

		private OdDbPlotSettingsValidator.SwigDelegateOdDbPlotSettingsValidator_22 swigDelegate22;

		private OdDbPlotSettingsValidator.SwigDelegateOdDbPlotSettingsValidator_23 swigDelegate23;

		private OdDbPlotSettingsValidator.SwigDelegateOdDbPlotSettingsValidator_24 swigDelegate24;

		private OdDbPlotSettingsValidator.SwigDelegateOdDbPlotSettingsValidator_25 swigDelegate25;

		private static Type[] swigMethodTypes0 = new Type[]
		{
			typeof(OdRxClass)
		};

		private static Type[] swigMethodTypes1 = new Type[0];

		private static Type[] swigMethodTypes2 = new Type[]
		{
			typeof(OdDbPlotSettings),
			typeof(string),
			typeof(string)
		};

		private static Type[] swigMethodTypes3 = new Type[]
		{
			typeof(OdDbPlotSettings),
			typeof(string)
		};

		private static Type[] swigMethodTypes4 = new Type[]
		{
			typeof(OdDbPlotSettings),
			typeof(string)
		};

		private static Type[] swigMethodTypes5 = new Type[]
		{
			typeof(OdDbPlotSettings),
			typeof(double),
			typeof(double)
		};

		private static Type[] swigMethodTypes6 = new Type[]
		{
			typeof(OdDbPlotSettings),
			typeof(OdDbPlotSettings.PlotPaperUnits)
		};

		private static Type[] swigMethodTypes7 = new Type[]
		{
			typeof(OdDbPlotSettings),
			typeof(OdDbPlotSettings.PlotRotation)
		};

		private static Type[] swigMethodTypes8 = new Type[]
		{
			typeof(OdDbPlotSettings),
			typeof(bool)
		};

		private static Type[] swigMethodTypes9 = new Type[]
		{
			typeof(OdDbPlotSettings),
			typeof(OdDbPlotSettings.PlotType)
		};

		private static Type[] swigMethodTypes10 = new Type[]
		{
			typeof(OdDbPlotSettings),
			typeof(double),
			typeof(double),
			typeof(double),
			typeof(double)
		};

		private static Type[] swigMethodTypes11 = new Type[]
		{
			typeof(OdDbPlotSettings),
			typeof(string)
		};

		private static Type[] swigMethodTypes12 = new Type[]
		{
			typeof(OdDbPlotSettings),
			typeof(bool)
		};

		private static Type[] swigMethodTypes13 = new Type[]
		{
			typeof(OdDbPlotSettings),
			typeof(double),
			typeof(double)
		};

		private static Type[] swigMethodTypes14 = new Type[]
		{
			typeof(OdDbPlotSettings),
			typeof(string)
		};

		private static Type[] swigMethodTypes15 = new Type[]
		{
			typeof(OdDbPlotSettings),
			typeof(OdDbPlotSettings.StdScaleType)
		};

		private static Type[] swigMethodTypes16 = new Type[]
		{
			typeof(OdDbPlotSettings),
			typeof(double)
		};

		private static Type[] swigMethodTypes17 = new Type[]
		{
			typeof(OdStringArray)
		};

		private static Type[] swigMethodTypes18 = new Type[]
		{
			typeof(OdDbPlotSettings),
			typeof(OdStringArray)
		};

		private static Type[] swigMethodTypes19 = new Type[]
		{
			typeof(OdDbPlotSettings),
			typeof(string)
		};

		private static Type[] swigMethodTypes20 = new Type[]
		{
			typeof(OdDbPlotSettings),
			typeof(int)
		};

		private static Type[] swigMethodTypes21 = new Type[]
		{
			typeof(OdDbPlotSettings),
			typeof(double),
			typeof(double),
			typeof(OdDbPlotSettings.PlotPaperUnits),
			typeof(bool)
		};

		private static Type[] swigMethodTypes22 = new Type[]
		{
			typeof(OdStringArray)
		};

		private static Type[] swigMethodTypes23 = new Type[]
		{
			typeof(OdDbPlotSettings)
		};

		private static Type[] swigMethodTypes24 = new Type[]
		{
			typeof(OdDbPlotSettings),
			typeof(bool)
		};

		private static Type[] swigMethodTypes25 = new Type[]
		{
			typeof(OdDbPlotSettings)
		};

		public delegate IntPtr SwigDelegateOdDbPlotSettingsValidator_0(IntPtr protocolClass);

		public delegate IntPtr SwigDelegateOdDbPlotSettingsValidator_1();

		public delegate int SwigDelegateOdDbPlotSettingsValidator_2(IntPtr pPlotSettings, [MarshalAs(UnmanagedType.LPWStr)] string plotDeviceName, [MarshalAs(UnmanagedType.LPWStr)] string mediaName);

		public delegate int SwigDelegateOdDbPlotSettingsValidator_3(IntPtr pPlotSettings, [MarshalAs(UnmanagedType.LPWStr)] string plotDeviceName);

		public delegate int SwigDelegateOdDbPlotSettingsValidator_4(IntPtr pPlotSettings, [MarshalAs(UnmanagedType.LPWStr)] string mediaName);

		public delegate int SwigDelegateOdDbPlotSettingsValidator_5(IntPtr pPlotSettings, double xCoordinate, double yCoordinate);

		public delegate int SwigDelegateOdDbPlotSettingsValidator_6(IntPtr pPlotSettings, int plotPaperUnits);

		public delegate int SwigDelegateOdDbPlotSettingsValidator_7(IntPtr pPlotSettings, int plotRotation);

		public delegate int SwigDelegateOdDbPlotSettingsValidator_8(IntPtr pPlotSettings, bool plotCentered);

		public delegate int SwigDelegateOdDbPlotSettingsValidator_9(IntPtr pPlotSettings, int plotType);

		public delegate int SwigDelegateOdDbPlotSettingsValidator_10(IntPtr pPlotSettings, double xMin, double yMin, double xMax, double yMax);

		public delegate int SwigDelegateOdDbPlotSettingsValidator_11(IntPtr pPlotSettings, [MarshalAs(UnmanagedType.LPWStr)] string plotViewName);

		public delegate int SwigDelegateOdDbPlotSettingsValidator_12(IntPtr pPlotSettings, bool useStandardScale);

		public delegate int SwigDelegateOdDbPlotSettingsValidator_13(IntPtr pPlotSettings, double numerator, double denominator);

		public delegate int SwigDelegateOdDbPlotSettingsValidator_14(IntPtr pPlotSettings, [MarshalAs(UnmanagedType.LPWStr)] string currentStyleSheet);

		public delegate int SwigDelegateOdDbPlotSettingsValidator_15(IntPtr pPlotSettings, int stdScaleType);

		public delegate int SwigDelegateOdDbPlotSettingsValidator_16(IntPtr pPlotSettings, double standardScale);

		public delegate void SwigDelegateOdDbPlotSettingsValidator_17(IntPtr deviceList);

		public delegate int SwigDelegateOdDbPlotSettingsValidator_18(IntPtr pPlotSettings, IntPtr mediaList);

		[return: MarshalAs(UnmanagedType.LPWStr)]
		public delegate string SwigDelegateOdDbPlotSettingsValidator_19(IntPtr pPlotSettings, [MarshalAs(UnmanagedType.LPWStr)] string canonicalName);

		[return: MarshalAs(UnmanagedType.LPWStr)]
		public delegate string SwigDelegateOdDbPlotSettingsValidator_20(IntPtr pPlotSettings, int mediaIndex);

		public delegate int SwigDelegateOdDbPlotSettingsValidator_21(IntPtr pPlotSettings, double paperWidth, double paperHeight, int plotPaperUnits, bool matchPrintableArea);

		public delegate int SwigDelegateOdDbPlotSettingsValidator_22(IntPtr styleList);

		public delegate void SwigDelegateOdDbPlotSettingsValidator_23(IntPtr pPlotSettings);

		public delegate int SwigDelegateOdDbPlotSettingsValidator_24(IntPtr pPlotSettings, bool zoomToPaperOnUpdate);

		public delegate int SwigDelegateOdDbPlotSettingsValidator_25(IntPtr pPlotSettings);
	}
}
